In a general input/output device, used are an interrupt notification method as a method of notifying processing completion where an input/output device actively notifies the completion to a CPU and a polling method where a CPU monitors a specific area of an input/output device at certain time intervals.
The former has an advantage in that a time taken for input and output is allowed to be short because, in a case where there is no input/output processing, a processing time of the CPU is not consumed and, immediately after the input/output processing is completed, the CPU executes completion processing.
On the other hand, the latter has an advantage in that, even in a case where the number of times of input and output is large, processes other than the process executed on the CPU are not interrupted, and completion processing can be executed with a certain load.
In a general OS, since a plurality of devices simultaneously operate, used is the interrupt notification method where, in a case where there is no processing, the processing time of the CPU is not consumed. However, in the interrupt notification method, if the number of times of input and output is increased, the frequency of interrupt notification is excessively increased in the CPU, and particularly, in an apparatus having a high performance of input and output, the interrupt notification method causes the highest performance to reach a limit point. For this reason, in a case where the frequency of interrupt notification is likely to be excessively increased, there is a need to suppress the frequency.
Patent Document 1 discloses a technique of imposing restriction condition to operations of a host side to delay transmission of interrupt notification for a certain time at the time of occurrence of a specific event. In Patent Document 1, the event as a chance to delay is a time of packet reception by a device and a time of transmission of received packet processed by the CPU. In addition, Patent Document 1, the to-be-suppressed interrupt signal is an interrupt signal for transmission completion checking request for a packet signal.